#include<stdio.h>
int getLowestTerms(int m,int n,int *pNum,int *pDenom);
void Output(int status,int nNum,int nDenom);

int main()
{
	int a=0,b=0;
	int *p,*q;
	int status=0;
	p=&a;
	q=&b;
	scanf("%d%d",&a,&b);
	status=getLowestTerms(a,b,p,q);

	Output(status,*p,*q);
	return 0;
}
int getGCD(int m,int n)
{
	int rem=n;
	while(rem!=0)
	{
		rem=m%n;
		m=n;
		n=rem;
	}
	return m;
}
int getLowestTerms(int m,int n,int *pNum,int *pDenom)
{
	int  abs(int number)
	{
		if(number<0)
		{
			number*=(-1);
		}
		return number;
	}
	int gcd;
	if(m==0)
	{
		return 0;
	}
	else if(m==n)
	{
		return 1;
	}
	else if(n==0)
	{
		return -1;
	}
	else
	{
		int msign=1,nsign=1;
                int numsign=0;
		if(m<0)
		{
			msign=-1;
		}
		if(n<0)
		{
			nsign=-1;
		}
		numsign=msign*nsign;
		m=abs(m);
		n=abs(n);
		*pNum=m;
		*pDenom=n;
		gcd=getGCD(m,n);
		*pNum/=gcd;
		*pNum*=numsign;
		*pDenom/=gcd;
		return 2;
	}
}
void Output(int status,int nNum,int nDenom)
{
	if(status==0)
	{
		printf("0");
	}
	else if(status==1)
	{
		printf("1");
	}
	else if(status==-1)
	{
		printf("Error!");
	}
	else if(status==2)
	{
		if(nDenom==1)
		{
			printf("%d",nNum);
		}
		else
		{
			printf("%d/%d",nNum,nDenom);
		}
	}
}


